1. Field of the Invention
The present application relates generally to data processing systems and more particularly to apparatus for controlling data transfer between a keyboard and its associated host processor.
2. Description of the Prior Art
Prior art keyboards commonly contain logic to repetitively scan all keys and, in response to a detected change in key position, generate a scan code containing information descriptive of the keystroke. When a scan code is available for transmission to the keyboard's associated system and if the associated system is configured to receive the keyboard data, the data is transmitted by the keyboard. Many keyboards transmit and receive this data serially in a synchronous fashion. This synchronous mode of data transmission typically requires the serial data stream, representing the keystroke information from the keyboard or command information to the keyboard, to be accompanied by a "clock" signal generated by the keyboard which allows the data to be properly received.
The common method of controlling data transmission to and from such keyboards is by means of a single-chip microprocessor programmed to support the keyboard's serial interface and located in the system to which the keyboard is attached. In a typical prior art system, in addition to handling the receipt of data from the keyboard and the transmitting of data to the keyboard, the keyboard controller checks parity of a received byte, inserts a parity bit into a byte to be transmitted, translates the scan code from the keyboard into appropriate keystroke information and makes keystroke information and transmission error information available to the system.
Such a microprocessor-based keyboard controller, however, can represent a significant cost item in the price of the system. The cost of the microprocessor can become especially significant in regard to products, such as personal computers, which are highly competitive, price sensitive and involve high production volumes. The present invention relates to a novel design for keyboard interface control logic that is substantially less expensive to implement than prior art microprocessor based systems.